#include<iostream>//基数排序
#include<cstdio>
#include<cstring>
using namespace std;
class Linked_list
{
    public:
        Linked_list();
        void li_insert(int x);
        void li_delete(int id);
        void li_print();
        void top_sort(int bit);
        struct node
        {
            int value;
            node *next;
        }*start;
};
Linked_list::Linked_list()
{
    this->start=(node *)malloc(sizeof(node));
    this->start->next=NULL;
    this->start->value=-1;
}
void Linked_list::li_insert(int x)
{
    node *p=this->start;
    while(p->next!=NULL)
    {
        p=p->next;
    }
    node *new_node=(node *)malloc(sizeof(node));
    new_node->value=x;
    p->next=new_node;
}
void Linked_list::li_delete(int id)
{
    int cnt=0;node *p=this->start,*q;
    while(p!=NULL)
    {
        q=p;
        p=p->next;
        cnt++;
        if(cnt==id&&p!=NULL){
            q->next=p->next;
            free(p);
            break;
        }
    }
    if(p==NULL)
    {
        printf("Out Value!\n");return;
    }
    else printf("Sueecss!\n");
}
void Linked_list::li_print()
{
    node  *p=this->start;
    while(p!=NULL)
    {
        p=p->next;
        if(p!=NULL)
            cout<<p->value<<' ';
    }

}
void Linked_list::top_sort(int bit)
{
    node *p=this->start->next;
    node t[10][100];
    int top[10];
    memset(top,0,sizeof(top));
    while(p!=NULL)
    {
        int n_value=p->value,n_bit;
        for(int i=1;i<bit;i++)
        {
            n_value/=10;
        }
        n_bit=n_value%10;
        top[n_bit]++;
        t[n_bit][top[n_bit]]=*p;
        p=p->next;
    }
    Linked_list new_list;
    for(int i=0;i<=9;i++)
    {
        for(int j=1;j<=top[i];j++)
        {
            new_list.li_insert(t[i][j].value);
        }
    }
    free(this->start);
    this->start=new_list.start;
}
int main()
{
    Linked_list a;
    //Linked_list top[10];
    int n;
    cin>>n;
    int x,max=0;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        a.li_insert(x);
        if(x>max)max=x;
    }
    int bit=0;
    while(max!=0)
    {
        bit++;
        max/=10;
    }
    for(int i=1;i<=bit;i++)
    {
        a.top_sort(i);
    }
    a.li_print();
    return 0;
}